<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>terminal_interface-curses-forms.adb</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
*.comment {
	color: green;
}
*.symbol {
	color: red;
}
</style>
</head>
<body>
<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms.adb </h1></div><hr>
<pre>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                      Terminal_Interface.Curses.Forms                     --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                                 B O D Y                                  --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
<span class="comment"><em>-- authorization.                                                           --</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
<span class="comment"><em>--  Version Control:</em></span>
<span class="comment"><em>--  @Revision: 1.33 @</em></span>
<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
<span class="comment"><em>--  Binding Version 01.00</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<b>with</b> Ada.Unchecked_Deallocation;

<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers;

<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;

<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_51_40" href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a></span> <b>is</b>

   <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;

   <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
   <b>package</b> F_Array <b>is</b> <b>new</b>
     <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>, C_Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);

<span class="comment"><em>------------------------------------------------------------------------------</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</em></span>

   <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>;
                                <span class="symbol"><a name="ref_66_33" href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a></span> : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_68_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_68_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_68_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a>;

   <b>function</b> <span class="symbol"><a name="ref_74_13" href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a></span> (<span class="symbol"><a name="ref_74_27" href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>) <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_76_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_76_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_76_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a>;
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_new.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_92_13" href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a></span> (<span class="symbol"><a name="ref_92_21" href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                    <span class="symbol"><a name="ref_93_21" href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
                    <span class="symbol"><a name="ref_94_21" href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                    <span class="symbol"><a name="ref_95_21" href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
                    <span class="symbol"><a name="ref_96_21" href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a></span>   : Natural := 0;
                    <span class="symbol"><a name="ref_97_21" href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First)
                    <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_100_16">Newfield</a></span> (<span class="symbol"><a name="ref_100_26">H</a></span>, <span class="symbol"><a name="ref_100_29">W</a></span>, <span class="symbol"><a name="ref_100_32">T</a></span>, <span class="symbol"><a name="ref_100_35">L</a></span>, <span class="symbol"><a name="ref_100_38">O</a></span>, <span class="symbol"><a name="ref_100_41">M</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <b>pragma</b> Import (C, Newfield, "new_field");
      <span class="symbol"><a name="ref_102_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_100_16">Newfield</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a>),
                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a>),
                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a>),
                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a>));
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a>;
<span class="comment"><em>--  |</em></span>
<span class="comment"><em>--  |</em></span>
<span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_115_14" href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a></span> (<span class="symbol"><a name="ref_115_22" href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_117_16">Free_Field</a></span> (<span class="symbol"><a name="ref_117_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Free_Field, "free_field");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_117_16">Free_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a>));
      <a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a></span> (<span class="symbol"><a name="ref_127_24" href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                       <span class="symbol"><a name="ref_128_24" href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                       <span class="symbol"><a name="ref_129_24" href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_131_16">Dup_Field</a></span> (<span class="symbol"><a name="ref_131_27">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                          <span class="symbol"><a name="ref_132_27">Top</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
                          <span class="symbol"><a name="ref_133_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <b>pragma</b> Import (C, Dup_Field, "dup_field");

      <span class="symbol"><a name="ref_136_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_131_16">Dup_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a>,
                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a>),
                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a>));
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_148_13" href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                  <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                  <span class="symbol"><a name="ref_150_19" href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_152_16">Lnk_Field</a></span> (<span class="symbol"><a name="ref_152_27">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                          <span class="symbol"><a name="ref_153_27">Top</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
                          <span class="symbol"><a name="ref_154_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <b>pragma</b> Import (C, Lnk_Field, "link_field");

      <span class="symbol"><a name="ref_157_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_152_16">Lnk_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a>,
                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a>),
                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a>));
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_just.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_173_14" href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a></span> (<span class="symbol"><a name="ref_173_33" href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                                <span class="symbol"><a name="ref_174_33" href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_58_33">None</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_176_16">Set_Field_Just</a></span> (<span class="symbol"><a name="ref_176_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_177_32">Just</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Just, "set_field_just");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_176_16">Set_Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a>,
                                     <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a>))));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_187_13" href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a></span> (<span class="symbol"><a name="ref_187_32" href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_189_16">Field_Just</a></span> (<span class="symbol"><a name="ref_189_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Field_Just, "field_just");
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_189_16">Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_buffer.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_201_14" href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a></span>
     (<span class="symbol"><a name="ref_202_7" href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <span class="symbol"><a name="ref_203_7" href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
      <span class="symbol"><a name="ref_204_7" href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a></span>    : String)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_206_16">Set_Fld_Buffer</a></span> (<span class="symbol"><a name="ref_206_32">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                                 <span class="symbol"><a name="ref_207_34">Bufnum</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
                                 <span class="symbol"><a name="ref_208_34">S</a></span>      : char_array)
        <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Fld_Buffer, "set_field_buffer");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_206_16">Set_Fld_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a>), To_C (<a href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a></span>
     (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
      <span class="symbol"><a name="ref_221_7" href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a></span>    : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_223_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_223_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                             <span class="symbol"><a name="ref_224_30">B</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Field_Buffer, "field_buffer");
   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_223_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a>;

   <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a></span>
     (<span class="symbol"><a name="ref_231_7" href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <span class="symbol"><a name="ref_232_7" href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_234_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_234_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                             <span class="symbol"><a name="ref_235_30">B</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Field_Buffer, "field_buffer");
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_234_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_243_14" href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a></span> (<span class="symbol"><a name="ref_243_26" href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_244_26" href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_246_16">Set_Fld_Status</a></span> (<span class="symbol"><a name="ref_246_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_247_32">St</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Fld_Status, "set_field_status");

   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_246_16">Set_Fld_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a>)) /= <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_258_13" href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a></span> (<span class="symbol"><a name="ref_258_22" href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_260_16">Field_Status</a></span> (<span class="symbol"><a name="ref_260_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Field_Status, "field_status");

      <span class="symbol"><a name="ref_263_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_260_16">Field_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_263_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_274_14" href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a></span> (<span class="symbol"><a name="ref_274_32" href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_275_32" href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a></span> : Natural := 0)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_277_16">Set_Field_Max</a></span> (<span class="symbol"><a name="ref_277_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                              <span class="symbol"><a name="ref_278_31">M</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Max, "set_max_field");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_277_16">Set_Field_Max</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_opts.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_291_14" href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a></span> (<span class="symbol"><a name="ref_291_27" href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                          <span class="symbol"><a name="ref_292_27" href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_294_16">Set_Field_Opts</a></span> (<span class="symbol"><a name="ref_294_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_295_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Opts, "set_field_opts");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_294_16">Set_Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_304_14" href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_304_30" href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                             <span class="symbol"><a name="ref_305_30" href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
                             <span class="symbol"><a name="ref_306_30" href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a></span>      : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_308_16">Field_Opts_On</a></span> (<span class="symbol"><a name="ref_308_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                              <span class="symbol"><a name="ref_309_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Field_Opts_On, "field_opts_on");
      <b>function</b> <span class="symbol"><a name="ref_311_16">Field_Opts_Off</a></span> (<span class="symbol"><a name="ref_311_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_312_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Field_Opts_Off, "field_opts_off");

   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a> <b>then</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_308_16">Field_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>));
      <b>else</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_311_16">Field_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>));
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                          <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_328_16">Field_Opts</a></span> (<span class="symbol"><a name="ref_328_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
      <b>pragma</b> Import (C, Field_Opts, "field_opts");

   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_328_16">Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_337_13" href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a></span> (<span class="symbol"><a name="ref_337_26" href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>)
                         <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>
   <b>is</b>
      <span class="symbol"><a name="ref_340_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>);
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_attributes.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_352_14" href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a></span>
     (<span class="symbol"><a name="ref_353_7" href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <span class="symbol"><a name="ref_354_7" href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
      <span class="symbol"><a name="ref_355_7" href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_357_16">Set_Field_Fore</a></span> (<span class="symbol"><a name="ref_357_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_358_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Fore, "set_field_fore");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_357_16">Set_Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
                                           <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a>,
                                           <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_369_14" href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a></span> (<span class="symbol"><a name="ref_369_26" href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_370_26" href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_372_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_372_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
      <b>pragma</b> Import (C, Field_Fore, "field_fore");
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_372_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a>;

   <b>procedure</b> <span class="symbol"><a name="ref_378_14" href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a></span> (<span class="symbol"><a name="ref_378_26" href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_379_26" href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
                         <span class="symbol"><a name="ref_380_26" href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_382_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_382_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
      <b>pragma</b> Import (C, Field_Fore, "field_fore");
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a>  := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
      <a href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a></span>
     (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
      <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_396_16">Set_Field_Back</a></span> (<span class="symbol"><a name="ref_396_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                               <span class="symbol"><a name="ref_397_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Back, "set_field_back");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_396_16">Set_Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
                                           <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a>,
                                           <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a></span> (<span class="symbol"><a name="ref_408_26" href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_409_26" href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_411_16">Field_Back</a></span> (<span class="symbol"><a name="ref_411_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
      <b>pragma</b> Import (C, Field_Back, "field_back");
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_411_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a>;

   <b>procedure</b> <span class="symbol"><a name="ref_417_14" href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a></span> (<span class="symbol"><a name="ref_417_26" href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_418_26" href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
                         <span class="symbol"><a name="ref_419_26" href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_421_16">Field_Back</a></span> (<span class="symbol"><a name="ref_421_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
      <b>pragma</b> Import (C, Field_Back, "field_back");
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a>  := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
      <a href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_430_33" href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                                <span class="symbol"><a name="ref_431_33" href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a></span> : Character := Space)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_433_16">Set_Field_Pad</a></span> (<span class="symbol"><a name="ref_433_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                              <span class="symbol"><a name="ref_434_31">Ch</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Pad, "set_field_pad");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_433_16">Set_Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a>,
                                    <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a>))));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_444_14" href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_444_29" href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                            <span class="symbol"><a name="ref_445_29" href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a></span> : <b>out</b> Character)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_447_16">Field_Pad</a></span> (<span class="symbol"><a name="ref_447_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Field_Pad, "field_pad");
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_447_16">Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_field_info.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_459_14" href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a></span> (<span class="symbol"><a name="ref_459_20" href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a></span>                : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                   <span class="symbol"><a name="ref_460_20" href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a></span>              : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                   <span class="symbol"><a name="ref_461_20" href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a></span>            : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
                   <span class="symbol"><a name="ref_462_20" href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a></span>          : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                   <span class="symbol"><a name="ref_463_20" href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a></span>       : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
                   <span class="symbol"><a name="ref_464_20" href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a></span>         : <b>out</b> Natural;
                   <span class="symbol"><a name="ref_465_20" href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>)
   <b>is</b>
      <b>type</b> <span class="symbol"><a name="ref_467_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>function</b> <span class="symbol"><a name="ref_468_16">Fld_Info</a></span> (<span class="symbol"><a name="ref_468_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                         <span class="symbol"><a name="ref_469_26">L</a></span>, <span class="symbol"><a name="ref_469_29">C</a></span>, <span class="symbol"><a name="ref_469_32">Fr</a></span>, <span class="symbol"><a name="ref_469_36">Fc</a></span>, <span class="symbol"><a name="ref_469_40">Os</a></span>, <span class="symbol"><a name="ref_469_44">Ab</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_467_12">C_Int_Access</a>)
                         <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Fld_Info, "field_info");

      <span class="symbol"><a name="ref_473_7">L</a></span>, <span class="symbol"><a name="ref_473_10">C</a></span>, <span class="symbol"><a name="ref_473_13">Fr</a></span>, <span class="symbol"><a name="ref_473_17">Fc</a></span>, <span class="symbol"><a name="ref_473_21">Os</a></span>, <span class="symbol"><a name="ref_473_25">Ab</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a>,
                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>'<b>Access</b>,
                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>'<b>Access</b>,
                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>'<b>Access</b>));
      <a href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a>              := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a>            := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a>          := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a>       := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a>         := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a>;
<span class="comment"><em>--  |</em></span>
<span class="comment"><em>--  |</em></span>
<span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a></span> (<span class="symbol"><a name="ref_489_28" href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                           <span class="symbol"><a name="ref_490_28" href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                           <span class="symbol"><a name="ref_491_28" href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
                           <span class="symbol"><a name="ref_492_28" href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a></span>     : <b>out</b> Natural)
   <b>is</b>
      <b>type</b> <span class="symbol"><a name="ref_494_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>function</b> <span class="symbol"><a name="ref_495_16">Dyn_Info</a></span> (<span class="symbol"><a name="ref_495_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_495_39">L</a></span>, <span class="symbol"><a name="ref_495_42">C</a></span>, <span class="symbol"><a name="ref_495_45">M</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_494_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Dyn_Info, "dynamic_field_info");

      <span class="symbol"><a name="ref_498_7">L</a></span>, <span class="symbol"><a name="ref_498_10">C</a></span>, <span class="symbol"><a name="ref_498_13">M</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_495_16">Dyn_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a>,
                               <a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>'<b>Access</b>,
                               <a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>'<b>Access</b>));
      <a href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a>     := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_win.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_514_14" href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a></span> (<span class="symbol"><a name="ref_514_26" href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                         <span class="symbol"><a name="ref_515_26" href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_517_16">Set_Form_Win</a></span> (<span class="symbol"><a name="ref_517_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                             <span class="symbol"><a name="ref_518_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Form_Win, "set_form_win");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_517_16">Set_Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_527_13" href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a></span> (<span class="symbol"><a name="ref_527_25" href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_529_16">Form_Win</a></span> (<span class="symbol"><a name="ref_529_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
      <b>pragma</b> Import (C, Form_Win, "form_win");

      <span class="symbol"><a name="ref_532_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_529_16">Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a>);
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_532_7">W</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_539_14" href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_539_30" href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                             <span class="symbol"><a name="ref_540_30" href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_542_16">Set_Form_Sub</a></span> (<span class="symbol"><a name="ref_542_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                             <span class="symbol"><a name="ref_543_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Form_Sub, "set_form_sub");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_542_16">Set_Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_552_13" href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_552_29" href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_554_16">Form_Sub</a></span> (<span class="symbol"><a name="ref_554_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
      <b>pragma</b> Import (C, Form_Sub, "form_sub");

      <span class="symbol"><a name="ref_557_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_554_16">Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a>);
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_557_7">W</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a></span> (<span class="symbol"><a name="ref_564_21" href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                    <span class="symbol"><a name="ref_565_21" href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                    <span class="symbol"><a name="ref_566_21" href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
   <b>is</b>
      <b>type</b> <span class="symbol"><a name="ref_568_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>function</b> <span class="symbol"><a name="ref_569_16">M_Scale</a></span> (<span class="symbol"><a name="ref_569_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_569_37">Yp</a></span>, <span class="symbol"><a name="ref_569_41">Xp</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_568_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, M_Scale, "scale_form");

      <span class="symbol"><a name="ref_572_7">X</a></span>, <span class="symbol"><a name="ref_572_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_569_16">M_Scale</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>'<b>Access</b>));
      <a href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>);
      <a href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page menu_hook.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_585_14" href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_585_35" href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                                  <span class="symbol"><a name="ref_586_35" href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_588_16">Set_Field_Init</a></span> (<span class="symbol"><a name="ref_588_32">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                               <span class="symbol"><a name="ref_589_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Init, "set_field_init");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_588_16">Set_Field_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_598_14" href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_598_35" href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                                  <span class="symbol"><a name="ref_599_35" href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_601_16">Set_Field_Term</a></span> (<span class="symbol"><a name="ref_601_32">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                               <span class="symbol"><a name="ref_602_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Field_Term, "set_field_term");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_601_16">Set_Field_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_611_14" href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_611_34" href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                                 <span class="symbol"><a name="ref_612_34" href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_614_16">Set_Form_Init</a></span> (<span class="symbol"><a name="ref_614_31">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                              <span class="symbol"><a name="ref_615_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Form_Init, "set_form_init");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_614_16">Set_Form_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_624_14" href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_624_34" href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                                 <span class="symbol"><a name="ref_625_34" href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_627_16">Set_Form_Term</a></span> (<span class="symbol"><a name="ref_627_31">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                              <span class="symbol"><a name="ref_628_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Form_Term, "set_form_term");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_627_16">Set_Form_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_fields.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_641_14" href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a></span> (<span class="symbol"><a name="ref_641_24" href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                       <span class="symbol"><a name="ref_642_24" href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_644_16">Set_Frm_Fields</a></span> (<span class="symbol"><a name="ref_644_32">Frm</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                               <span class="symbol"><a name="ref_645_32">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Frm_Fields, "set_form_fields");

   <b>begin</b>
      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>else</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_644_16">Set_Frm_Fields</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'First)'Address));
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                    <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
   <b>is</b>
      <b>use</b> F_Array;

      <b>function</b> C_Fields (<span class="symbol"><a name="ref_664_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Pointer;
      <b>pragma</b> Import (C, C_Fields, "form_fields");

      P : Pointer := C_Fields (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>);
   <b>begin</b>
      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a> &gt; <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>) <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>else</b>
         P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a>) - 1);
         <b>return</b> P.<b>all</b>;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_679_13" href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a></span> (<span class="symbol"><a name="ref_679_26" href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Natural
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_681_16">Count</a></span> (<span class="symbol"><a name="ref_681_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Count, "field_count");
   <b>begin</b>
      <b>return</b> Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_681_16">Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_689_14" href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a></span> (<span class="symbol"><a name="ref_689_20" href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                   <span class="symbol"><a name="ref_690_20" href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                   <span class="symbol"><a name="ref_691_20" href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_693_16">Move</a></span> (<span class="symbol"><a name="ref_693_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_693_35">L</a></span>, <span class="symbol"><a name="ref_693_38">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Move, "move_field");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_693_16">Move</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_new.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_706_13" href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a></span> (<span class="symbol"><a name="ref_706_21" href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_708_16">NewForm</a></span> (<span class="symbol"><a name="ref_708_25">Fields</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
      <b>pragma</b> Import (C, NewForm, "new_form");

      <span class="symbol"><a name="ref_711_7">M</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
   <b>begin</b>
      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>else</b>
         <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_708_16">NewForm</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'First)'Address);
         <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a> <b>then</b>
            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
         <b>end</b> <b>if</b>;
         <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a>;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_727_14" href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a></span> (<span class="symbol"><a name="ref_727_22" href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_729_16">Free</a></span> (<span class="symbol"><a name="ref_729_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Free, "free_form");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_729_16">Free</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a>));
      <a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_opts.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_743_14" href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a></span> (<span class="symbol"><a name="ref_743_27" href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                          <span class="symbol"><a name="ref_744_27" href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_746_16">Set_Form_Opts</a></span> (<span class="symbol"><a name="ref_746_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                              <span class="symbol"><a name="ref_747_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Form_Opts, "set_form_opts");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_746_16">Set_Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_756_14" href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_756_30" href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                             <span class="symbol"><a name="ref_757_30" href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
                             <span class="symbol"><a name="ref_758_30" href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a></span>      : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_760_16">Form_Opts_On</a></span> (<span class="symbol"><a name="ref_760_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                             <span class="symbol"><a name="ref_761_30">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Form_Opts_On, "form_opts_on");
      <b>function</b> <span class="symbol"><a name="ref_763_16">Form_Opts_Off</a></span> (<span class="symbol"><a name="ref_763_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                              <span class="symbol"><a name="ref_764_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Form_Opts_Off, "form_opts_off");

   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a> <b>then</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_760_16">Form_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>));
      <b>else</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_763_16">Form_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>));
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_777_14" href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a></span> (<span class="symbol"><a name="ref_777_27" href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                          <span class="symbol"><a name="ref_778_27" href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_780_16">Form_Opts</a></span> (<span class="symbol"><a name="ref_780_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
      <b>pragma</b> Import (C, Form_Opts, "form_opts");

   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_780_16">Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_789_13" href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a></span> (<span class="symbol"><a name="ref_789_26" href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>
   <b>is</b>
      <span class="symbol"><a name="ref_791_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
   <b>begin</b>
      <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>);
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_post.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_803_14" href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                   <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_806_16">M_Post</a></span> (<span class="symbol"><a name="ref_806_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, M_Post, "post_form");
      <b>function</b> <span class="symbol"><a name="ref_808_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_808_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, M_Unpost, "unpost_form");

   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a> <b>then</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_806_16">M_Post</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>));
      <b>else</b>
         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_808_16">M_Unpost</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>));
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_cursor.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_825_14" href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_825_31" href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_827_16">Pos_Form_Cursor</a></span> (<span class="symbol"><a name="ref_827_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Pos_Form_Cursor, "pos_form_cursor");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_827_16">Pos_Form_Cursor</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_data.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_840_13" href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a></span> (<span class="symbol"><a name="ref_840_25" href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_842_16">Ahead</a></span> (<span class="symbol"><a name="ref_842_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Ahead, "data_ahead");

      <span class="symbol"><a name="ref_845_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_842_16">Ahead</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_845_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_856_13" href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a></span> (<span class="symbol"><a name="ref_856_26" href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_858_16">Behind</a></span> (<span class="symbol"><a name="ref_858_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Behind, "data_behind");

      <span class="symbol"><a name="ref_861_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_858_16">Behind</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_861_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_driver.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_876_13" href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a></span> (<span class="symbol"><a name="ref_876_21" href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                    <span class="symbol"><a name="ref_877_21" href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_879_16">Frm_Driver</a></span> (<span class="symbol"><a name="ref_879_28">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_879_40">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Frm_Driver, "form_driver");

      <span class="symbol"><a name="ref_882_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_879_16">Frm_Driver</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a>));
   <b>begin</b>
      <b>case</b> <a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a> <b>is</b>
         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =&gt;
            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_709_27">Unknown_Request</a>;
         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a> =&gt;
            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_710_27">Invalid_Field</a>;
         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> =&gt;
            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_708_27">Request_Denied</a>;
         <b>when</b> <b>others</b> =&gt;
            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a>);
            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</a>;
      <b>end</b> <b>case</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_page.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_903_14" href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a></span> (<span class="symbol"><a name="ref_903_27" href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                          <span class="symbol"><a name="ref_904_27" href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_906_16">Set_Current_Fld</a></span> (<span class="symbol"><a name="ref_906_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_906_45">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Current_Fld, "set_current_field");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_906_16">Set_Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a>));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_915_13" href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a></span> (<span class="symbol"><a name="ref_915_22" href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_917_16">Current_Fld</a></span> (<span class="symbol"><a name="ref_917_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
      <b>pragma</b> Import (C, Current_Fld, "current_field");

      <span class="symbol"><a name="ref_920_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_917_16">Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_930_14" href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a></span> (<span class="symbol"><a name="ref_930_24" href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
                       <span class="symbol"><a name="ref_931_24" href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_933_16">Set_Frm_Page</a></span> (<span class="symbol"><a name="ref_933_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_933_42">Pg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Frm_Page, "set_form_page");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_933_16">Set_Frm_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_942_13" href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a></span> (<span class="symbol"><a name="ref_942_19" href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_944_16">Get_Page</a></span> (<span class="symbol"><a name="ref_944_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Get_Page, "form_page");

      <span class="symbol"><a name="ref_947_7">P</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_944_16">Get_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a> &lt; 0 <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>else</b>
         <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a>);
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a>;

   <b>function</b> <span class="symbol"><a name="ref_956_13" href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a></span> (<span class="symbol"><a name="ref_956_24" href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Positive
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_958_16">Get_Fieldindex</a></span> (<span class="symbol"><a name="ref_958_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Get_Fieldindex, "field_index");

      <span class="symbol"><a name="ref_961_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_958_16">Get_Fieldindex</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
      <b>end</b> <b>if</b>;
      <b>return</b> Positive (Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a>) + Positive'First);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a>;

   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | man page form_new_page.3x</em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_976_14" href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a></span> (<span class="symbol"><a name="ref_976_28" href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a></span>      : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
                           <span class="symbol"><a name="ref_977_28" href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_979_16">Set_Page</a></span> (<span class="symbol"><a name="ref_979_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_979_39">Flg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
      <b>pragma</b> Import (C, Set_Page, "set_new_page");

   <b>begin</b>
      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_979_16">Set_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a>)));
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a>;
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <span class="comment"><em>--  |</em></span>
   <b>function</b> <span class="symbol"><a name="ref_988_13" href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a></span> (<span class="symbol"><a name="ref_988_26" href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><a name="ref_990_16">Is_New</a></span> (<span class="symbol"><a name="ref_990_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
      <b>pragma</b> Import (C, Is_New, "new_page");

      <span class="symbol"><a name="ref_993_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_990_16">Is_New</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_993_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a>;

   <b>procedure</b> <span class="symbol"><a name="ref_1002_14" href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a></span> (<span class="symbol"><a name="ref_1002_20" href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a></span>          : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>;
                   <span class="symbol"><a name="ref_1003_20" href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a></span> : Boolean := False)
   <b>is</b>
      <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
        (Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>);
   <b>begin</b>
      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a> <b>then</b>
         <b>for</b> <span class="symbol"><a name="ref_1009_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'First .. (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'Last - 1) <b>loop</b>
            <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
               <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>));
            <b>end</b> <b>if</b>;
         <b>end</b> <b>loop</b>;
      <b>end</b> <b>if</b>;
      Release (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a>;

   <span class="comment"><em>--  |=====================================================================</em></span>

   <b>function</b> <span class="symbol"><a name="ref_1020_13" href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>
   <b>is</b>
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a>;

   <b>function</b> <span class="symbol"><a name="ref_1026_13" href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>
   <b>is</b>
   <b>begin</b>
      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>);
   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a>;

<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>;
</pre></body></html>
